package com.dly.blog.provider.user;

import com.dly.blog.domain.User;

/**
 * User模块提供的接口
 * @Author: DaiLiYu
 * @Date: 2023/7/12 23:18
 */
public interface UserProvider {

    User selectByUserAccount(String userAccount);

    User selectByEmail(String email);

    User selectById(String id);

    void insert(User user);

    void updatePassword(User user);

    /**
     *  减少用户次数
     */
    void reducedFrequency(String userId, int frequency);

    /**
     * 增加用户次数
     */
    void addFrequency(String userId,int frequency);

    /**
     * 校验用户次数是否够使用
     */
    Boolean chickFrequency(int frequency);

    /**
     * 获取用户次数
     */
    Integer getFrequency();

    /**
     * 绑定微信公众号用户
     */
    void bindWX(String userId, String openId);

    User selectByOpenId(String openId);
}
